package com.hsfw.dbmodule.dao;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.HashMap;
import java.util.List;

/**
 * @author 秦永辉
 * @date 2020/4/9
 */
@Mapper
@Repository
public interface BasicDataDao {
    public List<HashMap<String, Object>> getBaseTreeMenuByNodeID(@Param("nodeID") String nodeID);

    public List<HashMap<String, Object>> getTableHeader(@Param("tableName") String tableName);

    public List<HashMap<String, Object>> getAircraftTable(@Param("parentId") String parentId,
                                                          @Param("startNum") int startNum,
                                                          @Param("pageNum") int pageNum);
    public List<HashMap<String, Object>> getShipTable(@Param("parentId") String parentId,
                                                      @Param("startNum") int startNum,
                                                      @Param("pageNum") int pageNum);
    public List<HashMap<String, Object>> getSubmarineTable(@Param("parentId") String parentId,
                                                           @Param("startNum") int startNum,
                                                           @Param("pageNum") int pageNum);
    public List<HashMap<String, Object>> getFacilityTable(@Param("parentId") String parentId,
                                                          @Param("startNum") int startNum,
                                                          @Param("pageNum") int pageNum);
    public List<HashMap<String, Object>> getWeaponTable(@Param("parentId") String parentId,
                                                          @Param("startNum") int startNum,
                                                          @Param("pageNum") int pageNum);
    public List<HashMap<String, Object>> getSatelliteTable(@Param("parentId") String parentId,
                                                        @Param("startNum") int startNum,
                                                        @Param("pageNum") int pageNum);
    public String getTableNum(@Param("parentId") String parentId,
                                                             @Param("tableName") String tableName);
    public String[] getWeaponCountryNames(@Param("operatorCountrys") String operatorCountrys);
    public List<String> getChildIdListByParentIdList(@Param("parentIdList") String parentId);

    public List<HashMap<String, String>> getOverallField(@Param("tableName") String tableName);
    public Object getEntityImage(@Param("tableName") String tableName, @Param("guid") String guid);

    public List<HashMap<String, String>> getAircraftOverallData(@Param("guid") String guid);
    public List<HashMap<String, String>> getShipOverallData(@Param("guid") String guid);
    public List<HashMap<String, String>> getSubmarineOverallData(@Param("guid") String guid);
    public List<HashMap<String, String>> getFacilityOverallData(@Param("guid") String guid);
    public List<HashMap<String, String>> getSatelliteOverallData(@Param("guid") String guid);
    public List<HashMap<String, String>> getWeaponOverallData(@Param("guid") String guid);

    public List<HashMap<String, String>> getAllComponentData(@Param("tableName") String tableName);

    public String getEnumCodeTableName(@Param("tableName") String tableName);
    public List<HashMap<String, String>> getSensorComponentData(@Param("tableName") String tableName,
                                                                @Param("guid") String guid);
    public List<HashMap<String, String>> getCommComponentData(@Param("tableName") String tableName,
                                                              @Param("guid") String guid);
    public List<HashMap<String, String>> getMountComponentData(@Param("tableName") String tableName,
                                                               @Param("guid") String guid);
    public List<HashMap<String, String>> getLoadoutComponentData(@Param("tableName") String tableName,
                                                                 @Param("guid") String guid);
    public List<HashMap<String, String>> getSignatureComponentData(@Param("tableName") String tableName,
                                                                   @Param("guid") String guid);
    public List<HashMap<String, String>> getWeaponsignatureComponentData(@Param("tableName") String tableName,
                                                                   @Param("guid") String guid);
    public List<HashMap<String, String>> getCodeComponentData(@Param("tableName") String tableName,
                                                              @Param("enumTableName") String enumTableName,
                                                              @Param("guid") String guid);
    public List<HashMap<String, String>> getPropulsionComponentData(@Param("tableName") String tableName,
                                                              @Param("guid") String guid);
    public List<HashMap<String, String>> getFuelComponentData(@Param("tableName") String tableName,
                                                              @Param("guid") String guid);
    public List<HashMap<String, String>> getAircraftFacilitiesComponentData(@Param("tableName") String tableName,
                                                                            @Param("guid") String guid);
    public List<HashMap<String, String>> getMagazineComponentData(@Param("tableName") String tableName,
                                                                  @Param("guid") String guid);
    public List<HashMap<String, String>> getWarheadComponentData(@Param("tableName") String tableName,
                                                                  @Param("guid") String guid);
    public List<HashMap<String, String>> getTargetComponentData(@Param("tableName") String tableName,
                                                                @Param("guid") String guid);
    public List<HashMap<String, String>> getDockingFacilitiesComponentData(@Param("tableName") String tableName,
                                                                           @Param("guid") String guid);
    public List<HashMap<String, String>> getWraComponentData(@Param("tableName") String tableName,
                                                             @Param("guid") String guid);
    public List<HashMap<String, String>> getWeapondamageabilityComponentData(@Param("tableName") String tableName,
                                                                             @Param("guid") String guid);
}
